home *** CD-ROM | disk | FTP | other *** search
/ Amiga Tools 2 / Amiga Tools 2.iso / tex / mf / inputs / amsfonts / waits.mf < prev    next >
Text File  |  1995-03-15  |  7KB  |  189 lines

  1. % This file can be loaded after PLAIN.MF.
  2. % It introduces conventions that are commonly used at WAITS.
  3. base_version:=base_version&"/WAITS";
  4.  
  5. % The WAITS implementation allows an extended character set;
  6. % characters :=, <=, <>, and >= are put into the class with <, =, >, :, and |;
  7. % character ^^L (form feed) is in a class by itself, and is like an "outer" \.
  8. % Files containing these special characters should not be expected to work
  9. % elsewhere unless the following replacements are made:
  10.   let <= = <=;
  11.   let <> = <>;
  12.   let >= = >=;
  13.   let := = :=;
  14.  
  15. % Say "boise_proof" on the command line, to get proofmode on boise
  16. def boise_proof = lcode_:=" /";
  17.  extra_setup:=extra_setup&"grayfont grbois;" enddef;
  18.  
  19. screen_rows:=400; screen_cols:=480;
  20.  
  21. % Here are conventions for local output devices:
  22.  
  23. mode_def dover =  % dover mode: for the Xerox Dover
  24.  proofing:=0;      % no, we're not making proofs
  25.  fontmaking:=1;      % yes, we are making a font
  26.  tracingtitles:=0;    % no, don't show titles in the log
  27.  pixels_per_inch:=384;
  28.  blacker:=1.2;      % make pens somewhat blacker
  29.  fillin:=0;      % no compensation for fillin
  30.  o_correction:=.6;    % but don't overshoot as much
  31.  enddef;
  32.  
  33. mode_def imagen =  % imagen mode: for the Imagen 8/300 (Canon engine)
  34.  proofing:=0;      % no, we're not making proofs
  35.  fontmaking:=1;      % yes, we are making a font
  36.  tracingtitles:=0;    % no, don't show titles in the log
  37.  pixels_per_inch:=300;
  38.  blacker:=0;      % Canon engine is black enough
  39.  fillin:=.2;      % and it tends to fill in diagonals
  40.  o_correction:=.6;    %
  41.  enddef;
  42.  
  43. mode_def qms =    % qms mode: for the QMS (Xerox engine)
  44.  proofing:=0;      % no, we're not making proofs
  45.  fontmaking:=1;      % yes, we are making a font
  46.  tracingtitles:=0;    % no, don't show titles in the log
  47.  pixels_per_inch:=300;
  48.  blacker:=.75;      % (this value is conjectural)
  49.  fillin:=0;      % (ditto)
  50.  o_correction:=.5;    % (ditto)
  51.  enddef;
  52.  
  53. mode_def aps =    % aps mode: for the Autologic APS-Micro5
  54.  proofing:=0;      % no, we're not making proofs
  55.  fontmaking:=1;      % yes, we are making a font
  56.  tracingtitles:=1;      % yes, show titles online
  57.  pixels_per_inch:=722.909;    % that's roughly 10 per pt
  58.  blacker:=.2;      % make pens a teeny bit blacker
  59.  fillin:=.2;      % but compensate for diagonal fillin
  60.  o_correction:=1;      % and keep the full overshoot
  61.  enddef;
  62.  
  63. mode_def linotronic =    % for the Linotronic
  64.  proofing:=0;      % no, we're not making proofs
  65.  fontmaking:=1;      % yes, we are making a font
  66.  tracingtitles:=1;      % yes, show titles online
  67.  pixels_per_inch:=1270;    % high resolution mode
  68.  blacker:=.2;      % make pens a teeny bit blacker (aps value)
  69.  fillin:=.2;      % but compensate for diagonal fillin (aps value)
  70.  o_correction:=1;      % and keep the full overshoot (aps value)
  71.  enddef;
  72.  
  73. mode_def halflinotronic =    % for the Linotronic
  74.  proofing:=0;      % no, we're not making proofs
  75.  fontmaking:=1;      % yes, we are making a font
  76.  tracingtitles:=1;      % yes, show titles online
  77.  pixels_per_inch:=635;    % high resolution mode
  78.  blacker:=.2;      % make pens a teeny bit blacker (aps value)
  79.  fillin:=.2;      % but compensate for diagonal fillin (aps value)
  80.  o_correction:=1;      % and keep the full overshoot (aps value)
  81.  enddef;
  82.  
  83. mode_def crs =    % crs mode: for the Alphatype CRS
  84.   proofing:=0;      % no, we're not making proofs
  85.  fontmaking:=1;      % yes, we are making a font
  86.  tracingtitles:=1;      % yes, show titles online
  87.  begingroup interim warningcheck:=0;  % (we need to go past 4096)
  88.   pixels_per_inch:=4000+4000/3 endgroup;  % HIGH res
  89.  blacker:=4;      % make pens a lot blacker
  90.  fillin:=0;      % but don't compensate for fillin
  91.  o_correction:=1;      % and keep the full overshoot
  92.  enddef;
  93.  
  94. mode_def boise =  % boise mode: for the HP 2680A
  95.  proofing:=0;      % no, we're not making proofs
  96.  fontmaking:=1;      % yes, we are making a font
  97.  tracingtitles:=0;    % no, don't show titles in the log
  98.  pixels_per_inch:=180;
  99.  blacker:=.55;      % make pens a bit blacker
  100.  fillin:=.1;      % and compensate for diagonal fillin
  101.  o_correction:=.3;    % but don't overshoot much
  102.  enddef;
  103.  
  104. mode_def DD =  % DD mode: for the DataDisc (usually with mag=magstep 2=1.44)
  105.  proofing:=0;      % no, we're not making proofs
  106.  fontmaking:=1;      % yes, we are making a font
  107.  tracingtitles:=0;      % no, don't show titles in the log
  108.  pixels_per_inch:=70;    % really lowres
  109.  blacker:=0;      % don't make the pens any blacker
  110.  fillin:=0;        % and don't compensate for fillin
  111.  o_correction:=.2;      % but suppress most overshoots
  112.  enddef;
  113.  
  114. mode_def canon =  % canon mode: for the old Imagen (Canon LBP10)
  115.  proofing:=0;      % no, we're not making proofs
  116.  fontmaking:=1;      % yes, we are making a font
  117.  tracingtitles:=0;    % no, don't show titles in the log
  118.  pixels_per_inch:=240;
  119.  blacker:=.2;      % make pens a wee bit blacker
  120.  fillin:=.2;      % and compensate for fillin
  121.  o_correction:=.4;    % but don't overshoot as much
  122.  enddef;
  123.  
  124. mode_def newDD =  % newDD mode: for DataDisc with special aspect ratio
  125.  proofing:=0;      % no, we're not making proofs
  126.  fontmaking:=1;      % yes, we are making a font
  127.  tracingtitles:=0;    % no, don't show titles in the log
  128.  pixels_per_inch:=70;    % really lowres
  129.  blacker:=0;      % don't make the pens any blacker
  130.  fillin:=0;      % and don't compensate for fillin
  131.  o_correction:=.2;    % but suppress most overshoots
  132.  aspect_ratio:=4/3;    % this is the new feature...
  133.  enddef;
  134.  
  135. mode_def cg =    % cg mode: for the Compugraphic 8600
  136.  proofing:=0;      % no, we're not making proofs
  137.  fontmaking:=1;      % yes, we are making a font
  138.  tracingtitles:=1;      % yes, show titles online
  139.  pixels_per_inch:=1301.5;    % a bit less than 20 per pt
  140.  blacker:=.2;      % make pens a teeny bit blacker
  141.  fillin:=.2;      % but compensate for diagonal fillin
  142.  o_correction:=1;      % and keep the full overshoot
  143.  aspect_ratio:=1569/1301.5;    % strange, no?
  144.  enddef;
  145.  
  146. mode_def epson =  % Epson
  147.  proofing:=0;      % no, we're not making proofs
  148.  fontmaking:=1;      % yes, we are making a font
  149.  tracingtitles:=0;    % no, don't show titles in the log
  150.  pixels_per_inch:=240;    % lowres
  151.  blacker:=0;      % don't make the pens any blacker
  152.  fillin:=0;      % and don't compensate for fillin
  153.  o_correction:=.2;    % but suppress most overshoots
  154.  aspect_ratio:=9/10;    % 216 dots/inch vertical
  155.  enddef;
  156.  
  157.  
  158. localfont:=imagen;
  159.  
  160. % Finally, here are macros for Xerox-world font info:
  161.  
  162. def font_family expr s =  % string s names the font family, e.g., "CMR"
  163.  headerbyte 49: BCPL_string(s,20);
  164.  special "identifier "&s enddef;
  165. def coding_scheme expr s = % string s names the scheme, e.g. "TEX TEXT"
  166.  headerbyte 9: BCPL_string(s,40);
  167.  special "codingscheme "&s enddef;
  168. def font_face_byte expr x = % integer x gives the family member number,
  169.  headerbyte 72: x;          % which should be between 0 and 255
  170.  special "fontfacebyte"; numspecial x enddef;
  171.  
  172. def BCPL_string(expr s,n)= % string s becomes an n-byte BCPL string
  173.  for l:=if length(s)>=n: n-1 else: length(s) fi: l
  174.   for k:=1 upto l: , substring (k-1,k) of s endfor
  175.   for k:=l+2 upto n: , 0 endfor endfor enddef;
  176.  
  177. Xerox_world:=1;    % users can say `if known Xerox_world:...fi'
  178.  
  179. inner end;
  180. def bye=
  181.  if fontmaking>0: font_family font_identifier_;
  182.   coding_scheme font_coding_scheme_;
  183.   font_face_byte max(0,254-round 2designsize); fi
  184.  tracingstats:=1;  % at least for now we want this
  185.  end
  186.  enddef;
  187.  
  188. outer bye,end;
  189.